//******************************************************************
//******************************************************************
//**********          ANts Peer To Peer Sources        *************
//
// ANts P2P realizes a third generation P2P net. It protects your
// privacy while you are connected and makes you not trackable, hiding
// your identity (ip) and crypting everything you are sending/receiving
// from others.

// Copyright (C) 2004  Roberto Rossi

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

package ants.p2p.utils.misc;

import ants.p2p.gui.*;

public class ConnectionClock extends Thread{
  long counter = 1;
  boolean count = false;
  boolean terminate = false;
  ConnectionAntPanel cap;

  public ConnectionClock(ConnectionAntPanel cap){
    this.cap = cap;
  }

  public void run(){
    this.setPriority(1);
    while(!terminate){
      try {
        this.sleep(1000);
        /*if(this.counter % 10 == 0)
          ConnectionAntPanel.dumpFullPacketsStats();*/
      }
      catch (InterruptedException ex) {
      }
      if(count){
        counter++;
        this.cap.updateStatsPanel(this.toString());
      }
    }
  }

  public String toString(){
    long hours = this.counter / 3600;
    long minutes = (this.counter % 3600) / 60;
    long seconds = (this.counter % 3600) % 60;
    return hours+":"+minutes+":"+seconds;
  }

  public void count(boolean enabled){
    this.count = enabled;
  }
}
